<!DOCTYPE html>
<html>

<head>
  <title>Quarkus Tools for Visual Studio Code - 1.4.0 release</title>
  <script id="adobe_dtm" src="https://www.redhat.com/dtm.js" type="text/javascript"></script>
  <script src="/assets/javascript/highlight.pack.js" type="text/javascript"></script>
  <META HTTP-EQUIV='Content-Security-Policy' CONTENT="default-src 'none'; script-src 'self' 'unsafe-eval' 'sha256-ANpuoVzuSex6VhqpYgsG25OHWVA1I+F6aGU04LoI+5s=' 'sha256-ipy9P/3rZZW06mTLAR0EnXvxSNcnfSDPLDuh3kzbB1w=' js.bizographics.com https://www.redhat.com assets.adobedtm.com jsonip.com https://ajax.googleapis.com https://www.googletagmanager.com https://www.google-analytics.com https://use.fontawesome.com; style-src 'self' https://fonts.googleapis.com https://use.fontawesome.com; img-src 'self' *; media-src 'self' ; frame-src https://www.googletagmanager.com https://www.youtube.com; frame-ancestors 'none'; base-uri 'none'; object-src 'none'; form-action 'none'; font-src 'self' https://use.fontawesome.com https://fonts.gstatic.com;">
  <META HTTP-EQUIV='X-Frame-Options' CONTENT="DENY">
  <META HTTP-EQUIV='X-XSS-Protection' CONTENT="1; mode=block">
  <META HTTP-EQUIV='X-Content-Type-Options' CONTENT="nosniff">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="Quarkus: Supersonic Subatomic Java">
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:site" content="@QuarkusIO"> 
  <meta name="twitter:creator" content="@QuarkusIO">
  <meta property="og:url" content="https://quarkus.io/blog/vscode-quarkus-1.4.0/" />
  <meta property="og:title" content="Quarkus Tools for Visual Studio Code - 1.4.0 release" />
  <meta property="og:description" content="Quarkus: Supersonic Subatomic Java" />
  <meta property="og:image" content="/assets/images/quarkus_card.png" />
  <link rel="canonical" href="https://quarkus.io/blog/vscode-quarkus-1.4.0/">
  <link rel="shortcut icon" type="image/png" href="/favicon.ico" >
  <link rel="stylesheet" href="https://quarkus.io/guides/stylesheet/config.css" />
  <link rel="stylesheet" href="/assets/css/main.css" />
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">
  <link rel="alternate" type="application/rss+xml"  href="https://quarkus.io/feed.xml" title="Quarkus">
  <script src="https://quarkus.io/assets/javascript/goan.js" type="text/javascript"></script>
  <script src="https://quarkus.io/assets/javascript/hl.js" type="text/javascript"></script>
</head>

<body class="post">
  <!-- Google Tag Manager (noscript) -->
  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NJWS5L"
  height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  <!-- End Google Tag Manager (noscript) -->

  <div class="nav-wrapper">
  <div class="grid-wrapper">
    <div class="width-12-12">
      <input type="checkbox" id="checkbox" />
      <nav id="main-nav" class="main-nav">
  <div class="container">
    <div class="logo-wrapper">
      
        <a href="/"><img src="/assets/images/quarkus_logo_horizontal_rgb_600px_reverse.png" class="project-logo" title="Quarkus"></a>
      
    </div>
    <label class="nav-toggle" for="checkbox">
      <i class="fa fa-bars"></i>
    </label>
    <div id="menu" class="menu">
      <span>
        <a href="/get-started/" class="">Get Started</a>
      </span>
      <span>
        <a href="/guides/" class="">Guides</a>
      </span>
      <span>
        <a href="/community/" class="">Community</a>
      </span>
      <span>
        <a href="/support/" class="">Support</a>
      </span>
      <span>
        <a href="/blog/" class="active">Blog</a>
      </span>
      <span>
        <a href="https://code.quarkus.io" class="button-cta secondary white">Start Coding</a>
      </span>
    </div>
  </div>
      </nav>
    </div>
  </div>
</div>

  <div class="content">
    <div class="post-page grid-wrapper">
  <div class="width-8-12 width-12-12-m doc-content">
    <div class="grid-wrapper">
      <div class="width-12-12">
        <p>
          <a href="/blog"><i class="fas fa-angle-left"></i> Back to all posts</a>
        </p>
      </div>
      <div class="width-12-12">
        <div class="post-date">
          April 15, 2020 
          
            <span class="tags"><a href="/blog/tag/ide">#ide</a></span>
          
        </div>
        <h1 class="post-title">Quarkus Tools for Visual Studio Code - 1.4.0 release</h1>
        <div class="grid-wrapper">
          <div class="width-8-12 width-12-12-m byline-wrapper">
            
            
            <p class="byline">By Angelo Zerr</p>
          </div>
          <div class="width-12-12">
              <div class="paragraph">
<p>Quarkus Tools for Visual Studio Code 1.4.0 has been released on the
<a href="https://marketplace.visualstudio.com/items?itemName=redhat.vscode-quarkus">VS Code Marketplace</a>.</p>
</div>
<div class="paragraph">
<p><a href="https://github.com/redhat-developer/vscode-quarkus/">vscode-quarkus</a> 1.4.0 fixes several bugs, including some performance issues, but the highlights of this release revolve around bringing support for multiple MicroProfile modules (Fault Tolerance, Health, LRA, Metrics, Open API, Open Tracing, Rest Client), in both properties and Java files.
Many of these MicroProfile related enhancements were contributed by IBM.</p>
</div>
<div class="paragraph">
<p>For a list of all changes, please refer to the <a href="https://github.com/redhat-developer/vscode-quarkus/blob/master/CHANGELOG.md">changelog</a>.</p>
</div>
<div class="paragraph">
<p>Watch a demo video of all features presented in this article:</p>
</div>
<div class="videoblock">
<div class="content">
<iframe width="640" height="360" src="https://www.youtube.com/embed/D4woUwvMj_o?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
</div>
<div class="paragraph">
<p>A little backstory on this release: it turns out, IBM had started to implement its own <a href="https://github.com/MicroShed/microprofile-language-server/">MicroProfile Language Server</a>, providing MicroProfile support for <a href="https://github.com/eclipse/microprofile-health">Health</a>, Open API, Rest Client for <code>Java files</code> (validation, quick fixes, completions). In the meantime, the Red Hat&#8217;s Quarkus Language Server had been refactored internally to split the Quarkus related bits from a MicroProfile focused core. Naturally, Red Hat and IBM realized there would be much value in contributing to a single MicroProfile Language Server implementation, and both parties agreed to join forces on developing the MicroProfile Language Server currently powering <a href="https://github.com/redhat-developer/vscode-quarkus/">vscode-quarkus</a>.</p>
</div>
<div class="paragraph">
<p>The outcome of this collaboration is the <a href="https://projects.eclipse.org/proposals/eclipse-lsp4mp-language-server-eclipse-microprofile-0">Eclipse LSP4MP (Language Server for Eclipse MicroProfile) project proposal</a>. So stay tuned for more announcements on that subject!</p>
</div>
<div class="paragraph">
<p>And now for an overview of the new features in vscode-quarkus 1.4.0:</p>
</div>
<div class="sect1">
<h2 id="microprofile-fault-tolerance-support"><a class="anchor" href="#microprofile-fault-tolerance-support"></a>MicroProfile Fault Tolerance support</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://github.com/eclipse/microprofile-fault-tolerance">MicroProfile Fault Tolerance</a> properties are now managed in *.properties and yaml files, by providing the correct properties, according to classes and methods annotated with Fault Tolerance annotations:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="/assets/images/posts/quarkus-vs-code-1.4.0/faulttolerance_properties.png" alt="MicroProfile Fault Tolerance properties support">
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="microprofile-health-support"><a class="anchor" href="#microprofile-health-support"></a>MicroProfile Health support</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Validation and quick fixes for <a href="https://github.com/eclipse/microprofile-health">MicroProfile Health</a> in Java files are now available:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="/assets/images/posts/quarkus-vs-code-1.4.0/health_java_diagnostics.png" alt="MicroProfile Health Java diagnostics support">
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="microprofile-lra-support"><a class="anchor" href="#microprofile-lra-support"></a>MicroProfile LRA support</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://github.com/eclipse/microprofile-lra">MicroProfile LRA</a> (Long Running Actions) properties are now supported in the *.properties and yaml files:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="/assets/images/posts/quarkus-vs-code-1.4.0/lra_properties.png" alt="MicroProfile LRA properties support">
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="microprofile-metrics-support"><a class="anchor" href="#microprofile-metrics-support"></a>MicroProfile Metrics support</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://github.com/eclipse/microprofile-metrics">MicroProfile Metrics</a> properties are now supported in the *.properties and yaml files:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="/assets/images/posts/quarkus-vs-code-1.4.0/metrics_properties.png" alt="MicroProfile Metrics properties support">
</div>
</div>
<div class="paragraph">
<p>In Java files, you benefit from snippets to quickly generate part of the Metrics annotations:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="/assets/images/posts/quarkus-vs-code-1.4.0/metrics_java_snippets.png" alt="MicroProfile Metrics Java snippets support">
</div>
</div>
<div class="paragraph">
<p>These Metrics snippets only appear if the Java project has MicroProfile Metrics as a dependency.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="microprofile-open-api-support"><a class="anchor" href="#microprofile-open-api-support"></a>MicroProfile Open API support</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://github.com/eclipse/microprofile-open-api">MicroProfile Open API</a> properties are now managed in *.properties and yaml files:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="/assets/images/posts/quarkus-vs-code-1.4.0/openapi_properties.png" alt="MicroProfile Open API properties support">
</div>
</div>
<div class="paragraph">
<p>In Java files, you benefit from snippets to quickly generate part of the Open API annotations:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="/assets/images/posts/quarkus-vs-code-1.4.0/openapi_java_snippets.png" alt="MicroProfile Open API Java snippets support">
</div>
</div>
<div class="paragraph">
<p>These Open API snippets only appear if the Java project depends on MicroProfile Open API.</p>
</div>
<div class="paragraph">
<p>The code action <code>Sources&#8230;&#8203; / Generate OpenAPI Annotations</code> provides the ability to generate stub Open API annotations in a Java file:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="/assets/images/posts/quarkus-vs-code-1.4.0/openapi_java_codeaction.png" alt="MicroProfile Open API Java code action support">
</div>
</div>
<div class="paragraph">
<p>The code action generates an Open API <code>@Operation</code> annotation for each method that returns a response:</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="microprofile-open-tracing-support"><a class="anchor" href="#microprofile-open-tracing-support"></a>MicroProfile Open Tracing support</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://github.com/eclipse/microprofile-opentracing">MicroProfile Open Tracing</a> properties are now managed in *.properties and yaml files:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="/assets/images/posts/quarkus-vs-code-1.4.0/opentracing_properties.png" alt="MicroProfile Open Tracing properties support">
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="microprofile-rest-client-support"><a class="anchor" href="#microprofile-rest-client-support"></a>MicroProfile Rest Client support</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Validation and quick fixes for <a href="https://github.com/eclipse/microprofile-rest-client">MicroProfile Rest Client</a> in Java files are now available:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="/assets/images/posts/quarkus-vs-code-1.4.0/restclient_java_diagnostics.png" alt="MicroProfile Rest Client Java diagnostics support">
</div>
</div>
<div class="paragraph">
<p>CodeLens for Rest Client are now available:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="/assets/images/posts/quarkus-vs-code-1.4.0/restclient_java_codelens.png" alt="MicroProfile Rest Client Java Code Lens support">
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="moving-forward"><a class="anchor" href="#moving-forward"></a>Moving Forward</h2>
<div class="sectionbody">
<div class="paragraph">
<p>This wraps up the new major features in this release.
If you have any questions, suggestions or feedback, by all means please <a href="https://github.com/redhat-developer/vscode-quarkus/issues/new">open a GitHub issue</a>.</p>
</div>
<div class="paragraph">
<p>For future releases we are aiming to improve language support for other MicroProfile modules like MicroProfile Reactive Messaging and other new Quarkus features like Command Mode Applications</p>
</div>
<div class="paragraph">
<p>Thank you for reading and stay tuned for the next release!</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="links"><a class="anchor" href="#links"></a>Links</h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p>VS Code Marketplace link: <a href="https://marketplace.visualstudio.com/items?itemName=redhat.vscode-quarkus" class="bare">https://marketplace.visualstudio.com/items?itemName=redhat.vscode-quarkus</a></p>
</li>
<li>
<p>GitHub repository: <a href="https://github.com/redhat-developer/vscode-quarkus" class="bare">https://github.com/redhat-developer/vscode-quarkus</a></p>
</li>
<li>
<p>Open a GitHub issue: <a href="https://github.com/redhat-developer/vscode-quarkus/issues/new" class="bare">https://github.com/redhat-developer/vscode-quarkus/issues/new</a></p>
</li>
<li>
<p>Changelog: <a href="https://github.com/redhat-developer/vscode-quarkus/blob/master/CHANGELOG.md" class="bare">https://github.com/redhat-developer/vscode-quarkus/blob/master/CHANGELOG.md</a></p>
</li>
<li>
<p>Version 1.3.0 blog post: <a href="https://quarkus.io/blog/vscode-quarkus-1.3.0/" class="bare">https://quarkus.io/blog/vscode-quarkus-1.3.0/</a></p>
</li>
<li>
<p>Version 1.2.0 blog post: <a href="https://quarkus.io/blog/vscode-quarkus-1.2.0/" class="bare">https://quarkus.io/blog/vscode-quarkus-1.2.0/</a></p>
</li>
<li>
<p>Version 1.1.0 blog post: <a href="https://quarkus.io/blog/vscode-quarkus-1.1.0" class="bare">https://quarkus.io/blog/vscode-quarkus-1.1.0</a></p>
</li>
<li>
<p>Version 1.0.0 blog post: <a href="https://quarkus.io/blog/quarkus-developer-joy-for-vs-code" class="bare">https://quarkus.io/blog/quarkus-developer-joy-for-vs-code</a></p>
</li>
</ul>
</div>
</div>
</div>
              
          </div>
          <div class="width-12-12"><div class="share-page">
  <a class="share-linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https://quarkus.io/blog/vscode-quarkus-1.4.0/&title=Quarkus Tools for Visual Studio Code - 1.4.0 release" rel="nofollow" target="_blank" title="Share on LinkedIn">
    <img src="/assets/images/share-page/icons_social-linkedin.png"/>
  </a>
  <a class="share-twitter" href="https://twitter.com/intent/tweet?text=Quarkus Tools for Visual Studio Code - 1.4.0 release&url=https://quarkus.io/blog/vscode-quarkus-1.4.0/&via=quarkusio&related=quarkusio" rel="nofollow" target="_blank" title="Share on Twitter">
    <img src="/assets/images/share-page/icons_social-twitter.png"/>
  </a>
  <a class="share-facebook" href="https://facebook.com/sharer.php?u=https://quarkus.io/blog/vscode-quarkus-1.4.0/" rel="nofollow" target="_blank" title="Share on Facebook">
    <img src="/assets/images/share-page/icons_social-facebook.png"/>
  </a>
  <a class="share-reddit" href="http://www.reddit.com/submit?url=https://quarkus.io/blog/vscode-quarkus-1.4.0/" onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=900,height=500,toolbar=1,resizable=0'); return false;" title="Share on Reddit" >
    <img src="/assets/images/share-page/icons_social-reddit.png"/>
  </a>
  <a class="share-email" href="mailto:?subject=Quarkus Tools for Visual Studio Code - 1.4.0 release&amp;body=Quarkus Tools for Visual Studio Code - 1.4.0 release https://quarkus.io/blog/vscode-quarkus-1.4.0/" title="Share via Email" >
    <img src="/assets/images/share-page/icons_social-email.png"/>
  </a>
</div>
</div>
        </div>
      </div>
    </div>
  </div>
</div>

  </div>

  <div class="content project-footer">
  <div class="footer-section">
    <div class="logo-wrapper">
      <a href="/"><img src="/assets/images/quarkus_logo_horizontal_rgb_reverse.svg" class="project-logo" title="Quarkus"></a>
    </div>
  </div>
  <div class="grid-wrapper">
    <p class="grid__item width-3-12">Quarkus is open. All dependencies of this project are available under the <a href='https://www.apache.org/licenses/LICENSE-2.0' target='_blank'>Apache Software License 2.0</a> or compatible license.<br /><br />This website was built with <a href='https://jekyllrb.com/' target='_blank'>Jekyll</a>, is hosted on <a href='https://pages.github.com/' target='_blank'>Github Pages</a> and is completely open source. If you want to make it better, <a href='https://github.com/quarkusio/quarkusio.github.io' target='_blank'>fork the website</a> and show us what you’ve got.</p>

    
      <div class="width-1-12 project-links">
        <span>Navigation</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="/">Home</a></li>
          
            <li><a href="/guides">Guides</a></li>
          
            <li><a href="/community/#contributing">Contribute</a></li>
          
            <li><a href="/faq">FAQ</a></li>
          
            <li><a href="/get-started">Get Started</a></li>
          
        </ul>
      </div>
    
      <div class="width-1-12 project-links">
        <span>Contribute</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="https://twitter.com/quarkusio">Follow us</a></li>
          
            <li><a href="https://github.com/quarkusio">GitHub</a></li>
          
            <li><a href="/security">Security&nbsp;policy</a></li>
          
        </ul>
      </div>
    
      <div class="width-1-12 project-links">
        <span>Get Help</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="https://groups.google.com/forum/#!forum/quarkus-dev">Forums</a></li>
          
            <li><a href="https://quarkusio.zulipchat.com">Chatroom</a></li>
          
        </ul>
      </div>
    

    
      <div class="width-3-12 more-links">
        <span>Quarkus is made of community projects</span>
        <ul class="footer-links">
          
            <li><a href="https://vertx.io/" target="_blank">Eclipse Vert.x</a></li>
          
            <li><a href="https://microprofile.io" target="_blank">Eclipse MicroProfile</a></li>
          
            <li><a href="https://hibernate.org" target="_blank">Hibernate</a></li>
          
            <li><a href="https://netty.io" target="_blank">Netty</a></li>
          
            <li><a href="https://resteasy.github.io" target="_blank">RESTEasy</a></li>
          
            <li><a href="https://camel.apache.org" target="_blank">Apache Camel</a></li>
          
            <li><a href="https://code.quarkus.io/" target="_blank">And many more...</a></li>
          
        </ul>
      </div>
    
  </div>
</div>
  <div class="content redhat-footer">
  <div class="grid-wrapper">
    <span class="licence">
      <i class="fab fa-creative-commons"></i><i class="fab fa-creative-commons-by"></i> <a href="https://creativecommons.org/licenses/by/3.0/" target="_blank">CC by 3.0</a> | <a href="https://www.redhat.com/en/about/privacy-policy">Privacy Policy</a>
    </span>
    <span class="redhat">
      Sponsored by
    </span>
    <span class="redhat-logo">
      <a href="https://www.redhat.com/" target="_blank"><img src="/assets/images/redhat_reversed.svg"></a>
    </span>
  </div>
</div>


  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js" integrity="sha384-8gBf6Y4YYq7Jx97PIqmTwLPin4hxIzQw5aDmUg/DDhul9fFpbbLcLh3nTIIDJKhx" crossorigin="anonymous"></script>
  <script type="text/javascript" src="/assets/javascript/mobile-nav.js"></script>
  <script type="text/javascript" src="/assets/javascript/scroll-down.js"></script>
  <script src="/assets/javascript/satellite.js" type="text/javascript"></script>
  <script src="https://quarkus.io/guides/javascript/config.js" type="text/javascript"></script>
  <script src="/assets/javascript/search-filter.js" type="text/javascript"></script>
  <script src="/assets/javascript/back-to-top.js" type="text/javascript"></script>
</body>

</html>
